#ifndef __BSP_UART_H__
#define __BSP_UART_H__

#include "BSP_common.h"
#include <string.h>

#ifdef __cplusplus
extern "C" {
#endif

#define UART_RECV_MAX 0x100

STATUS UART1_Init(uint32_t BaudRate);
STATUS UART2_Init(uint32_t BaudRate);
STATUS UART3_Init(uint32_t BaudRate);

STATUS UART1_SendByte(char ch);
STATUS UART2_SendByte(char ch);
STATUS UART3_SendByte(char ch);


void UART1_Clear(void);
void UART2_Clear(void);
void UART3_Clear(void);

STATUS UART1_GetData(uint8_t *buf, uint16_t *len);
STATUS UART2_GetData(uint8_t *buf, uint16_t *len);
STATUS UART3_GetData(uint8_t *buf, uint16_t *len);

STATUS UART1_SendStr(const int8_t * str);
STATUS UART2_SendStr(const int8_t * str);
STATUS UART3_SendStr(const int8_t * str);

STATUS UART1_SendData(const uint8_t *buf, uint16_t bytes);
STATUS UART2_SendData(const uint8_t *buf, uint16_t bytes);
STATUS UART3_SendData(const uint8_t *buf, uint16_t bytes);

#ifdef __cplusplus
}
#endif
#endif
